package org.atlantis.grosbeak.pot.mapper;

import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * 对于数据库中查询出来的一行数据进行映射。
 * 
 * @author <a href="mailto:seenoevil.cn@gmail.com">SeeNoEvil</a>
 * 
 * @param <T>
 */
public abstract class RowMapper<T> {

	/**
	 * 映射一行数据。
	 * 
	 * @param rs
	 *            数据库的查询结果。
	 * @param names
	 *            数据库字段的名称集合。
	 * @param types
	 *            数据库字段类型的集合。
	 * @return 映射的结果。
	 * @throws SQLException
	 */
	public abstract T mapRow(ResultSet rs, String[] names, int[] types)
			throws SQLException;
}
